=.001em

=3000 =3.3333333pt by =

`=`

= 1`

=2

Usage: `=`

= 1`

=2[/;,/] . Can recurse. E.g.,

`=`

= 1`

=2 [/S;[/NP;[/Det;The,/],[/N;man,/]/],[/VP;[/V_t;bit,/],[/NP;[/Det;a,/],[/N;dog,/]/]/]/]

Gives: S / / / / / NP VP / / / / Det N / | | Vt NP The man | / bit Det N | | a dog

Date: Mon, 22 May 89 22:49:14 EDT From: INHB000 <INHBSubject: Macro to help display parsing trees Keywords: macros, parsing trees

Paul Krause wanted some macros to help him display parsing trees. The enclosed is not the best possible solution, but it is a start. It can be improved in various ways. The most important is to reduce the number 3000 that defaults to. It is that large only so that very short two word phrases will still have their parse lines; with a smaller value you come up to a shorter distance than latex can draw a slant line. The best thing is to use a smaller value, 1500 looks good, and increase it if the resultant line is too short. Then the positioning is not perfect. This appears to be the result of the boxes produced by the environment being too wide by 3.333333pt. It might be better if the lines lower in the tree had steeper slope. This would introduce all sorts of complications.

Some might object to the syntax. It was chosen to make the rather ugly recursive structure as readable as possible and, not coincidentally, come as close as possible to the alternate notation used in Chomsky's ``Aspects of Syntax''. In fact, a different definition that reproduces that alternate notation appears at the end. I would have preferred the syntax without the slashes, but I could not figure out how to implement that. A couple of caveats. Since I have changed their 's, [,] and / cannot be used inside the trees. Since I have never seen them so used, this seems safe. Of course, the brackets can all be replaced by braces and the opening slashes changed to or something.

The only sane way to use this macro is to define a key in your editor that produces the string [/;,/] and four backspaces with a single keystroke and leaves you in insert mode. This will help enormously in getting the syntax correct.

Michael Barr